package com.copm.ifm.servers.sys.mapper.project;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.copm.ifm.servers.sys.dto.SysProjectDTO;
import com.copm.ifm.servers.sys.entity.SysProject;
import com.copm.ifm.servers.sys.vo.SysProjectVO;

import java.util.List;

/**
 * <p>
 * 项目表 Mapper 接口
 * </p>
 *
 * @author zzf
 * @since 2020-12-14
 */
public interface SysProjectMapper extends BaseMapper<SysProject> {

    int insertVO(SysProject sysProject);

    List<SysProjectVO> selectForPage(SysProjectDTO param);

    SysProjectVO getProjectVOById(Long id);

    int checkProjectId(String city, String proName);

    int checkProjectCode(String proCode);

    List<SysProjectVO> selectProjectDetailForPage(SysProjectDTO param);

    int selectCountProjectForPage(SysProjectDTO param);

    int updateByProjectId(SysProject sysProject);

    default String selectNameById(Integer projectId) {
        SysProject sysProject = selectOne(new LambdaQueryWrapper<SysProject>()
                .eq(SysProject::getId, projectId)
                .select(SysProject::getName));
        return sysProject.getName();
    }
}
